package com.example.recyclerview.utli;

import android.content.Context;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;

public class InputMethodUtils {

    /**
     * view必须是VISIBLE的EditText，如果不是VISIBLE的，需要先将其设置为VISIBLE。
     * 当前界面必须已经加载完成，不能直接在Activity的onCreate()，onResume()，onAttachedToWindow()中使用
     * 可以在这些方法中通过postDelayed的方式来延迟执行showSoftInput()。
     */
    public static void showSoftInput(Context context, EditText view) {
        InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
        if (imm != null) {
            view.requestFocus();
            imm.showSoftInput(view, 0);
        }
    }

    /**
     * view可以当前布局中已经存在的任何一个View，如果找不到可以用getWindow().getDecorView()。
     */
    public static void hideSoftInput(Context context, View view) {
        InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
        if (imm != null) {
            imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
        }
    }
}
